package demo.view;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;

import javax.swing.JOptionPane;

import demo.dao.ReaderDao;
import demo.entity.Reader;

public class ReaderAdd extends ReaderPanel implements ActionListener{
	
	private ReaderDao readerDao = new ReaderDao();// 创建DAO对象用于访问数据库
	private Reader reader = new Reader();

	public ReaderAdd() {		
		getBtnSubmit().setText("添加读者");// 获取父类的btnSumbit按钮，并设置它的显示文本为“插入记录”
		getBtnSubmit().addActionListener(this);// 为btnSumbit按钮注册监听器
		getReaderBirth().setToolTipText("2018-01-02");//设置提示文本
		getReaderTel().setToolTipText("123456789");//设置提示文本
		getReaderId().requestFocus();//获得焦点
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO 自动生成的方法存根
			try {
				String id = getReaderId().getText();// 获取父类的readerId文本框的内容
				String password = getReaderPassword().getText();
				String name = getReaderName().getText();// 获取父类的readerName文本框的内容
				String sex = getReaderSex().getText();
				Date birth = Date.valueOf(getReaderBirth().getText());// 获取父类readerBirth文本框的内容，并转换为Date类型
				String pro = getReaderPro().getText();
				String grade = getReaderGrade().getText();
				String tel = getReaderTel().getText();
				String email = getReaderEmail().getText();
				
				
				
				// 用所获取的数据赋值给student各属性
				reader.setId(id);
				reader.setPassword(password);
				reader.setName(name);
				reader.setSex(sex);
				reader.setBirth(birth);
				reader.setPro(pro);
				reader.setGrade(grade);
				reader.setTel(tel);
				reader.setEmail(email);
				
				int affectedRecords = readerDao.save(reader);// 调用studentDao对象的save方法保存student对象到students数据库表
				if (affectedRecords == 1) {// 如果保存成功
					JOptionPane.showMessageDialog(this, "你插入的记录内容为：" + readerDao.findById(id).toString(),
							"插入" + affectedRecords + "条记录成功！", JOptionPane.INFORMATION_MESSAGE);
					//清空输入框，以备插入下一条记录
					getReaderId().setText("");
					getReaderPassword().setText("");
					getReaderName().setText("");
					getReaderSex().setText("");
					getReaderBirth().setText("");
					getReaderPro().setText("");
					getReaderGrade().setText("");
					getReaderTel().setText("");
					getReaderEmail().setText("");
					getReaderId().requestFocus();

				} else if (affectedRecords == 0) {// 如果记录已存在
					JOptionPane.showMessageDialog(this, "记录已经存在！", "插入失败",JOptionPane.ERROR_MESSAGE);

				} else {// 保存时发生异常
					JOptionPane.showMessageDialog(this, "保存记录出错，可能是数据库有问题！", "插入失败", JOptionPane.ERROR_MESSAGE);
					;
				}
			} catch (Exception e1) {
				JOptionPane.showMessageDialog(this, "数据格式有误！", "插入失败", JOptionPane.ERROR_MESSAGE);
			}
	}

}
